2007-01-03 Matthias Clasen <mclasen@redhat.com>
+ * modules/printbackends/cups/gtkprintbackendcups.c: Close
+ the http connection after getting the PPD.
+
* gtk/gtkprinteroptionwidget.c (filesave_changed_cb):
Fix memory leaks.
typedef struct {
GtkPrinterCups *printer;
GIOChannel *ppd_io;
+ http_t *http;
} GetPPDData;
static void
{
GTK_NOTE (PRINTING,
g_print ("CUPS Backend: %s\n", G_STRFUNC));
-
+ httpClose (data->http);
g_io_channel_unref (data->ppd_io);
g_object_unref (data->printer);
g_free (data);
GTK_NOTE (PRINTING,
g_print ("CUPS Backend: %s\n", G_STRFUNC));
- /* FIXME this can return NULL! */
http = httpConnectEncrypt (cups_printer->hostname,
cups_printer->port,
cupsEncryption ());
-
+
data = g_new0 (GetPPDData, 1);
fd = g_file_open_tmp ("gtkprint_ppd_XXXXXX",
return;
}
+ data->http = http;
fchmod (fd, S_IRUSR | S_IWUSR);
data->ppd_io = g_io_channel_unix_new (fd);
g_io_channel_set_encoding (data->ppd_io, NULL, NULL);
data->printer = g_object_ref (printer);
resource = g_strdup_printf ("/printers/%s.ppd",
- gtk_printer_cups_get_ppd_name (GTK_PRINTER_CUPS(printer)));
- request = gtk_cups_request_new (http,
+ gtk_printer_cups_get_ppd_name (GTK_PRINTER_CUPS (printer)));
+
+ request = gtk_cups_request_new (data->http,
GTK_CUPS_GET,
0,
data->ppd_io,